Part of the development cycle of a business application, the generation of editors is to provide to the end user a User Interface (UI) allowing the collection of data of the application. The UI code for an easy evolution and maintenance of that code is developed with an object-oriented technology.
Many tools exist which facilitate object oriented software engineering. Methodologies such as the Unified Modeling Language (UML) provide a graphical language to visualize and manage the development artifacts. Although these methodologies provide tools to generate code for the developer, it is generally a fine-grained code that does not encompass all the user application and editing capabilities. One prior art provides a solution for interactively generating an object oriented framework consisting of a tree view of the framework, a graph view of the objects, a method view of the methods and an edit view to modify the framework, objects and methods. Run time objects may be automatically generated but the developer does not have the option to customize this code generation by introducing specificity of the editing attributes according, for instance to the graphical capacities of the target operating system on which the generated code will be executed. Once the objects are created each editor code needs to be modified for customization.
The Eclipse® Modeling Framework (EMF) is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI (XML Metadata Interchange) format, EMF provides tools and runtime support to produce a set of Java classes for the model, a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor. The editor can be customized by introducing some specificity of the editing attributes, however, the editor is basic and generic. It represents a tree and lists the attributes for each node of the tree. The editors generated with EMF can thus be used for development and test purposes but not for an execution in the real business environment which requires covering more detailed data update under the data model.
Object, View, and Interaction Design (OVID) is a software design method which can be translated into code design. It starts from an object model of the persistent data of the application written in UML and results into generation of code for the editors. The editor interface can be customized during the phase of definition by introducing some specificity of the editing attributes. However, with OVID, the developer has to modify the model, to adapt it by entering specificities of the target user interface. This is intrusive and forces the modeler to define UI specifications in the UML model to produce editors. The modeler has to produce as many models as the target requires for the execution of editors.